1. Field
The described technology relates to systems and methods of generating geometric models based on a geometric object and a reference geometry.
2. Description of the Related Technology
Polygonal model data is created with, for example, a 3-D CAD software tool by, for example, a designer. The polygonal model or polygonal mesh includes discrete data points describing one or more surfaces or objects. Polygonal models are convenient for design work at least because they define the surface or object with a degree of detail convenient for the designer to work with. The shape of the surface or object is defined by the data points, and the surface between the data points is perceived, but is not necessarily represented in the data. This allows for the CAD system to function quicker because of a significantly reduced data set representing the surface or object, while providing the designer enough detail to manipulate to achieve a desired design.
The polygonal data may be edited by a designer according to the designer's purposes. For example, the designer may add features to the object represented by the polygonal data using mesh operations. In addition, to create smooth, natural looking objects, a smoothing algorithm may be used to modify the polygonal data. For example, a Catmull-Clark algorithm or a loop subdivision algorithm may be performed on the polygonal data. The smoothing algorithm modifies the polygonal data by, for example, adding vertices and repositioning existing vertices. Thus, the smoothing algorithm generates a modified object.
In some applications, the finished polygonal data object may preferably have a Portion thereof having geometric parameters specified by an external predetermined reference object. For example, a polygonal data object, which represents a part of a machine, may be generated. The finished machine part may have a surface which is to mate against another surface or part of the machine. Accordingly, in the process of generating the polygonal data object, a reference object having the characteristics of the other surface or part of the machine may be used to generate the surface of the polygonal data object which will mate to the surface of the machine.
Conventionally, to generate such an object, the Catmull-Clark or loop subdivision algorithm is performed on the polygonal data to generate a smooth machine part. Subsequently, the smooth machine part is manually edited by a designer who moves vertices of the smooth machine part to generate the desired surface which conforms to the other machine surface. Such a manual process is time consuming and error prone.